Sensor devices create streams of data to be processed by electronic circuitry. In order to capture those data streams, it is common to store incoming data temporarily in a buffer before providing it to other components for processing or long-term storage.
For example, GB patent application no. 1322349.0 (publication no 2523984) discloses an automatic speech recognition system to, for example, wake up a mobile phone in response to detection of a trigger phrase being uttered by a user. A microphone generates an audio signal and this, together with a suitable sampling mechanism, is used to generate a stream of discrete audio data samples. The sampling mechanism may be provided within the microphone or in the speech recognition system itself. Prior to its processing by the system, the audio data is temporarily stored in a data buffer. The data buffer takes the form of a circular buffer, which is an area of memory to which data is written, with the oldest data being overwritten when the memory is full.
Most modern integrated circuits are generally required to be as area-efficient and low-power as possible, within the constraints of the design parameters defined for the circuit in question. Buffer memories may occupy a significant portion of the available area, and in such a situation it would therefore be desirable to reduce the amount of memory required for correct functioning of the integrated circuit, and/or to ensure that area allocated for memory is utilized efficiently.